package com.erp.erp_entitys.Dictionary;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class DictionaryEntityExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Boolean forUpdate;

    public DictionaryEntityExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setForUpdate(Boolean forUpdate) {
        this.forUpdate = forUpdate;
    }

    public Boolean getForUpdate() {
        return forUpdate;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andTypeIsNull() {
            addCriterion("`type` is null");
            return (Criteria) this;
        }

        public Criteria andTypeIsNotNull() {
            addCriterion("`type` is not null");
            return (Criteria) this;
        }

        public Criteria andTypeEqualTo(Integer value) {
            addCriterion("`type` =", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotEqualTo(Integer value) {
            addCriterion("`type` <>", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThan(Integer value) {
            addCriterion("`type` >", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("`type` >=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThan(Integer value) {
            addCriterion("`type` <", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeLessThanOrEqualTo(Integer value) {
            addCriterion("`type` <=", value, "type");
            return (Criteria) this;
        }

        public Criteria andTypeIn(List<Integer> values) {
            addCriterion("`type` in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotIn(List<Integer> values) {
            addCriterion("`type` not in", values, "type");
            return (Criteria) this;
        }

        public Criteria andTypeBetween(Integer value1, Integer value2) {
            addCriterion("`type` between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("`type` not between", value1, value2, "type");
            return (Criteria) this;
        }

        public Criteria andLxIsNull() {
            addCriterion("lx is null");
            return (Criteria) this;
        }

        public Criteria andLxIsNotNull() {
            addCriterion("lx is not null");
            return (Criteria) this;
        }

        public Criteria andLxEqualTo(Integer value) {
            addCriterion("lx =", value, "lx");
            return (Criteria) this;
        }

        public Criteria andLxNotEqualTo(Integer value) {
            addCriterion("lx <>", value, "lx");
            return (Criteria) this;
        }

        public Criteria andLxGreaterThan(Integer value) {
            addCriterion("lx >", value, "lx");
            return (Criteria) this;
        }

        public Criteria andLxGreaterThanOrEqualTo(Integer value) {
            addCriterion("lx >=", value, "lx");
            return (Criteria) this;
        }

        public Criteria andLxLessThan(Integer value) {
            addCriterion("lx <", value, "lx");
            return (Criteria) this;
        }

        public Criteria andLxLessThanOrEqualTo(Integer value) {
            addCriterion("lx <=", value, "lx");
            return (Criteria) this;
        }

        public Criteria andLxIn(List<Integer> values) {
            addCriterion("lx in", values, "lx");
            return (Criteria) this;
        }

        public Criteria andLxNotIn(List<Integer> values) {
            addCriterion("lx not in", values, "lx");
            return (Criteria) this;
        }

        public Criteria andLxBetween(Integer value1, Integer value2) {
            addCriterion("lx between", value1, value2, "lx");
            return (Criteria) this;
        }

        public Criteria andLxNotBetween(Integer value1, Integer value2) {
            addCriterion("lx not between", value1, value2, "lx");
            return (Criteria) this;
        }

        public Criteria andLxNameIsNull() {
            addCriterion("lx_name is null");
            return (Criteria) this;
        }

        public Criteria andLxNameIsNotNull() {
            addCriterion("lx_name is not null");
            return (Criteria) this;
        }

        public Criteria andLxNameEqualTo(String value) {
            addCriterion("lx_name =", value, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameNotEqualTo(String value) {
            addCriterion("lx_name <>", value, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameGreaterThan(String value) {
            addCriterion("lx_name >", value, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameGreaterThanOrEqualTo(String value) {
            addCriterion("lx_name >=", value, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameLessThan(String value) {
            addCriterion("lx_name <", value, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameLessThanOrEqualTo(String value) {
            addCriterion("lx_name <=", value, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameLike(String value) {
            addCriterion("lx_name like", value, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameNotLike(String value) {
            addCriterion("lx_name not like", value, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameIn(List<String> values) {
            addCriterion("lx_name in", values, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameNotIn(List<String> values) {
            addCriterion("lx_name not in", values, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameBetween(String value1, String value2) {
            addCriterion("lx_name between", value1, value2, "lxName");
            return (Criteria) this;
        }

        public Criteria andLxNameNotBetween(String value1, String value2) {
            addCriterion("lx_name not between", value1, value2, "lxName");
            return (Criteria) this;
        }

        public Criteria andEnglishnameIsNull() {
            addCriterion("englishname is null");
            return (Criteria) this;
        }

        public Criteria andEnglishnameIsNotNull() {
            addCriterion("englishname is not null");
            return (Criteria) this;
        }

        public Criteria andEnglishnameEqualTo(String value) {
            addCriterion("englishname =", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameNotEqualTo(String value) {
            addCriterion("englishname <>", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameGreaterThan(String value) {
            addCriterion("englishname >", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameGreaterThanOrEqualTo(String value) {
            addCriterion("englishname >=", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameLessThan(String value) {
            addCriterion("englishname <", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameLessThanOrEqualTo(String value) {
            addCriterion("englishname <=", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameLike(String value) {
            addCriterion("englishname like", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameNotLike(String value) {
            addCriterion("englishname not like", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameIn(List<String> values) {
            addCriterion("englishname in", values, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameNotIn(List<String> values) {
            addCriterion("englishname not in", values, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameBetween(String value1, String value2) {
            addCriterion("englishname between", value1, value2, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameNotBetween(String value1, String value2) {
            addCriterion("englishname not between", value1, value2, "englishname");
            return (Criteria) this;
        }

        public Criteria andFlIsNull() {
            addCriterion("fl is null");
            return (Criteria) this;
        }

        public Criteria andFlIsNotNull() {
            addCriterion("fl is not null");
            return (Criteria) this;
        }

        public Criteria andFlEqualTo(String value) {
            addCriterion("fl =", value, "fl");
            return (Criteria) this;
        }

        public Criteria andFlNotEqualTo(String value) {
            addCriterion("fl <>", value, "fl");
            return (Criteria) this;
        }

        public Criteria andFlGreaterThan(String value) {
            addCriterion("fl >", value, "fl");
            return (Criteria) this;
        }

        public Criteria andFlGreaterThanOrEqualTo(String value) {
            addCriterion("fl >=", value, "fl");
            return (Criteria) this;
        }

        public Criteria andFlLessThan(String value) {
            addCriterion("fl <", value, "fl");
            return (Criteria) this;
        }

        public Criteria andFlLessThanOrEqualTo(String value) {
            addCriterion("fl <=", value, "fl");
            return (Criteria) this;
        }

        public Criteria andFlLike(String value) {
            addCriterion("fl like", value, "fl");
            return (Criteria) this;
        }

        public Criteria andFlNotLike(String value) {
            addCriterion("fl not like", value, "fl");
            return (Criteria) this;
        }

        public Criteria andFlIn(List<String> values) {
            addCriterion("fl in", values, "fl");
            return (Criteria) this;
        }

        public Criteria andFlNotIn(List<String> values) {
            addCriterion("fl not in", values, "fl");
            return (Criteria) this;
        }

        public Criteria andFlBetween(String value1, String value2) {
            addCriterion("fl between", value1, value2, "fl");
            return (Criteria) this;
        }

        public Criteria andFlNotBetween(String value1, String value2) {
            addCriterion("fl not between", value1, value2, "fl");
            return (Criteria) this;
        }

        public Criteria andDjIsNull() {
            addCriterion("dj is null");
            return (Criteria) this;
        }

        public Criteria andDjIsNotNull() {
            addCriterion("dj is not null");
            return (Criteria) this;
        }

        public Criteria andDjEqualTo(String value) {
            addCriterion("dj =", value, "dj");
            return (Criteria) this;
        }

        public Criteria andDjNotEqualTo(String value) {
            addCriterion("dj <>", value, "dj");
            return (Criteria) this;
        }

        public Criteria andDjGreaterThan(String value) {
            addCriterion("dj >", value, "dj");
            return (Criteria) this;
        }

        public Criteria andDjGreaterThanOrEqualTo(String value) {
            addCriterion("dj >=", value, "dj");
            return (Criteria) this;
        }

        public Criteria andDjLessThan(String value) {
            addCriterion("dj <", value, "dj");
            return (Criteria) this;
        }

        public Criteria andDjLessThanOrEqualTo(String value) {
            addCriterion("dj <=", value, "dj");
            return (Criteria) this;
        }

        public Criteria andDjLike(String value) {
            addCriterion("dj like", value, "dj");
            return (Criteria) this;
        }

        public Criteria andDjNotLike(String value) {
            addCriterion("dj not like", value, "dj");
            return (Criteria) this;
        }

        public Criteria andDjIn(List<String> values) {
            addCriterion("dj in", values, "dj");
            return (Criteria) this;
        }

        public Criteria andDjNotIn(List<String> values) {
            addCriterion("dj not in", values, "dj");
            return (Criteria) this;
        }

        public Criteria andDjBetween(String value1, String value2) {
            addCriterion("dj between", value1, value2, "dj");
            return (Criteria) this;
        }

        public Criteria andDjNotBetween(String value1, String value2) {
            addCriterion("dj not between", value1, value2, "dj");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("`name` is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("`name` is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("`name` =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("`name` <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("`name` >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("`name` >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("`name` <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("`name` <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("`name` like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("`name` not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("`name` in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("`name` not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("`name` between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("`name` not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andCountryIsNull() {
            addCriterion("country is null");
            return (Criteria) this;
        }

        public Criteria andCountryIsNotNull() {
            addCriterion("country is not null");
            return (Criteria) this;
        }

        public Criteria andCountryEqualTo(String value) {
            addCriterion("country =", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryNotEqualTo(String value) {
            addCriterion("country <>", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryGreaterThan(String value) {
            addCriterion("country >", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryGreaterThanOrEqualTo(String value) {
            addCriterion("country >=", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryLessThan(String value) {
            addCriterion("country <", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryLessThanOrEqualTo(String value) {
            addCriterion("country <=", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryLike(String value) {
            addCriterion("country like", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryNotLike(String value) {
            addCriterion("country not like", value, "country");
            return (Criteria) this;
        }

        public Criteria andCountryIn(List<String> values) {
            addCriterion("country in", values, "country");
            return (Criteria) this;
        }

        public Criteria andCountryNotIn(List<String> values) {
            addCriterion("country not in", values, "country");
            return (Criteria) this;
        }

        public Criteria andCountryBetween(String value1, String value2) {
            addCriterion("country between", value1, value2, "country");
            return (Criteria) this;
        }

        public Criteria andCountryNotBetween(String value1, String value2) {
            addCriterion("country not between", value1, value2, "country");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceIsNull() {
            addCriterion("time_zone_difference is null");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceIsNotNull() {
            addCriterion("time_zone_difference is not null");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceEqualTo(String value) {
            addCriterion("time_zone_difference =", value, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceNotEqualTo(String value) {
            addCriterion("time_zone_difference <>", value, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceGreaterThan(String value) {
            addCriterion("time_zone_difference >", value, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceGreaterThanOrEqualTo(String value) {
            addCriterion("time_zone_difference >=", value, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceLessThan(String value) {
            addCriterion("time_zone_difference <", value, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceLessThanOrEqualTo(String value) {
            addCriterion("time_zone_difference <=", value, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceLike(String value) {
            addCriterion("time_zone_difference like", value, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceNotLike(String value) {
            addCriterion("time_zone_difference not like", value, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceIn(List<String> values) {
            addCriterion("time_zone_difference in", values, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceNotIn(List<String> values) {
            addCriterion("time_zone_difference not in", values, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceBetween(String value1, String value2) {
            addCriterion("time_zone_difference between", value1, value2, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andTimeZoneDifferenceNotBetween(String value1, String value2) {
            addCriterion("time_zone_difference not between", value1, value2, "timeZoneDifference");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityIsNull() {
            addCriterion("unit_of_quantity is null");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityIsNotNull() {
            addCriterion("unit_of_quantity is not null");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityEqualTo(String value) {
            addCriterion("unit_of_quantity =", value, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityNotEqualTo(String value) {
            addCriterion("unit_of_quantity <>", value, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityGreaterThan(String value) {
            addCriterion("unit_of_quantity >", value, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityGreaterThanOrEqualTo(String value) {
            addCriterion("unit_of_quantity >=", value, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityLessThan(String value) {
            addCriterion("unit_of_quantity <", value, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityLessThanOrEqualTo(String value) {
            addCriterion("unit_of_quantity <=", value, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityLike(String value) {
            addCriterion("unit_of_quantity like", value, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityNotLike(String value) {
            addCriterion("unit_of_quantity not like", value, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityIn(List<String> values) {
            addCriterion("unit_of_quantity in", values, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityNotIn(List<String> values) {
            addCriterion("unit_of_quantity not in", values, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityBetween(String value1, String value2) {
            addCriterion("unit_of_quantity between", value1, value2, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andUnitOfQuantityNotBetween(String value1, String value2) {
            addCriterion("unit_of_quantity not between", value1, value2, "unitOfQuantity");
            return (Criteria) this;
        }

        public Criteria andIsInspectionIsNull() {
            addCriterion("is_inspection is null");
            return (Criteria) this;
        }

        public Criteria andIsInspectionIsNotNull() {
            addCriterion("is_inspection is not null");
            return (Criteria) this;
        }

        public Criteria andIsInspectionEqualTo(String value) {
            addCriterion("is_inspection =", value, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionNotEqualTo(String value) {
            addCriterion("is_inspection <>", value, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionGreaterThan(String value) {
            addCriterion("is_inspection >", value, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionGreaterThanOrEqualTo(String value) {
            addCriterion("is_inspection >=", value, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionLessThan(String value) {
            addCriterion("is_inspection <", value, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionLessThanOrEqualTo(String value) {
            addCriterion("is_inspection <=", value, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionLike(String value) {
            addCriterion("is_inspection like", value, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionNotLike(String value) {
            addCriterion("is_inspection not like", value, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionIn(List<String> values) {
            addCriterion("is_inspection in", values, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionNotIn(List<String> values) {
            addCriterion("is_inspection not in", values, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionBetween(String value1, String value2) {
            addCriterion("is_inspection between", value1, value2, "isInspection");
            return (Criteria) this;
        }

        public Criteria andIsInspectionNotBetween(String value1, String value2) {
            addCriterion("is_inspection not between", value1, value2, "isInspection");
            return (Criteria) this;
        }

        public Criteria andVatRateIsNull() {
            addCriterion("vat_rate is null");
            return (Criteria) this;
        }

        public Criteria andVatRateIsNotNull() {
            addCriterion("vat_rate is not null");
            return (Criteria) this;
        }

        public Criteria andVatRateEqualTo(String value) {
            addCriterion("vat_rate =", value, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateNotEqualTo(String value) {
            addCriterion("vat_rate <>", value, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateGreaterThan(String value) {
            addCriterion("vat_rate >", value, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateGreaterThanOrEqualTo(String value) {
            addCriterion("vat_rate >=", value, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateLessThan(String value) {
            addCriterion("vat_rate <", value, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateLessThanOrEqualTo(String value) {
            addCriterion("vat_rate <=", value, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateLike(String value) {
            addCriterion("vat_rate like", value, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateNotLike(String value) {
            addCriterion("vat_rate not like", value, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateIn(List<String> values) {
            addCriterion("vat_rate in", values, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateNotIn(List<String> values) {
            addCriterion("vat_rate not in", values, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateBetween(String value1, String value2) {
            addCriterion("vat_rate between", value1, value2, "vatRate");
            return (Criteria) this;
        }

        public Criteria andVatRateNotBetween(String value1, String value2) {
            addCriterion("vat_rate not between", value1, value2, "vatRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateIsNull() {
            addCriterion("tax_rate is null");
            return (Criteria) this;
        }

        public Criteria andTaxRateIsNotNull() {
            addCriterion("tax_rate is not null");
            return (Criteria) this;
        }

        public Criteria andTaxRateEqualTo(String value) {
            addCriterion("tax_rate =", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotEqualTo(String value) {
            addCriterion("tax_rate <>", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateGreaterThan(String value) {
            addCriterion("tax_rate >", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateGreaterThanOrEqualTo(String value) {
            addCriterion("tax_rate >=", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateLessThan(String value) {
            addCriterion("tax_rate <", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateLessThanOrEqualTo(String value) {
            addCriterion("tax_rate <=", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateLike(String value) {
            addCriterion("tax_rate like", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotLike(String value) {
            addCriterion("tax_rate not like", value, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateIn(List<String> values) {
            addCriterion("tax_rate in", values, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotIn(List<String> values) {
            addCriterion("tax_rate not in", values, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateBetween(String value1, String value2) {
            addCriterion("tax_rate between", value1, value2, "taxRate");
            return (Criteria) this;
        }

        public Criteria andTaxRateNotBetween(String value1, String value2) {
            addCriterion("tax_rate not between", value1, value2, "taxRate");
            return (Criteria) this;
        }

        public Criteria andImportTariffIsNull() {
            addCriterion("import_tariff is null");
            return (Criteria) this;
        }

        public Criteria andImportTariffIsNotNull() {
            addCriterion("import_tariff is not null");
            return (Criteria) this;
        }

        public Criteria andImportTariffEqualTo(String value) {
            addCriterion("import_tariff =", value, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffNotEqualTo(String value) {
            addCriterion("import_tariff <>", value, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffGreaterThan(String value) {
            addCriterion("import_tariff >", value, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffGreaterThanOrEqualTo(String value) {
            addCriterion("import_tariff >=", value, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffLessThan(String value) {
            addCriterion("import_tariff <", value, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffLessThanOrEqualTo(String value) {
            addCriterion("import_tariff <=", value, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffLike(String value) {
            addCriterion("import_tariff like", value, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffNotLike(String value) {
            addCriterion("import_tariff not like", value, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffIn(List<String> values) {
            addCriterion("import_tariff in", values, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffNotIn(List<String> values) {
            addCriterion("import_tariff not in", values, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffBetween(String value1, String value2) {
            addCriterion("import_tariff between", value1, value2, "importTariff");
            return (Criteria) this;
        }

        public Criteria andImportTariffNotBetween(String value1, String value2) {
            addCriterion("import_tariff not between", value1, value2, "importTariff");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateIsNull() {
            addCriterion("consumption_tax_rate is null");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateIsNotNull() {
            addCriterion("consumption_tax_rate is not null");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateEqualTo(String value) {
            addCriterion("consumption_tax_rate =", value, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateNotEqualTo(String value) {
            addCriterion("consumption_tax_rate <>", value, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateGreaterThan(String value) {
            addCriterion("consumption_tax_rate >", value, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateGreaterThanOrEqualTo(String value) {
            addCriterion("consumption_tax_rate >=", value, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateLessThan(String value) {
            addCriterion("consumption_tax_rate <", value, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateLessThanOrEqualTo(String value) {
            addCriterion("consumption_tax_rate <=", value, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateLike(String value) {
            addCriterion("consumption_tax_rate like", value, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateNotLike(String value) {
            addCriterion("consumption_tax_rate not like", value, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateIn(List<String> values) {
            addCriterion("consumption_tax_rate in", values, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateNotIn(List<String> values) {
            addCriterion("consumption_tax_rate not in", values, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateBetween(String value1, String value2) {
            addCriterion("consumption_tax_rate between", value1, value2, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andConsumptionTaxRateNotBetween(String value1, String value2) {
            addCriterion("consumption_tax_rate not between", value1, value2, "consumptionTaxRate");
            return (Criteria) this;
        }

        public Criteria andStartDateIsNull() {
            addCriterion("start_date is null");
            return (Criteria) this;
        }

        public Criteria andStartDateIsNotNull() {
            addCriterion("start_date is not null");
            return (Criteria) this;
        }

        public Criteria andStartDateEqualTo(Date value) {
            addCriterionForJDBCDate("start_date =", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("start_date <>", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateGreaterThan(Date value) {
            addCriterionForJDBCDate("start_date >", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("start_date >=", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateLessThan(Date value) {
            addCriterionForJDBCDate("start_date <", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("start_date <=", value, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateIn(List<Date> values) {
            addCriterionForJDBCDate("start_date in", values, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("start_date not in", values, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("start_date between", value1, value2, "startDate");
            return (Criteria) this;
        }

        public Criteria andStartDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("start_date not between", value1, value2, "startDate");
            return (Criteria) this;
        }

        public Criteria andEndDateIsNull() {
            addCriterion("end_date is null");
            return (Criteria) this;
        }

        public Criteria andEndDateIsNotNull() {
            addCriterion("end_date is not null");
            return (Criteria) this;
        }

        public Criteria andEndDateEqualTo(Date value) {
            addCriterionForJDBCDate("end_date =", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("end_date <>", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateGreaterThan(Date value) {
            addCriterionForJDBCDate("end_date >", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("end_date >=", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLessThan(Date value) {
            addCriterionForJDBCDate("end_date <", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("end_date <=", value, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateIn(List<Date> values) {
            addCriterionForJDBCDate("end_date in", values, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("end_date not in", values, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("end_date between", value1, value2, "endDate");
            return (Criteria) this;
        }

        public Criteria andEndDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("end_date not between", value1, value2, "endDate");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsIsNull() {
            addCriterion("regulatory_conditions is null");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsIsNotNull() {
            addCriterion("regulatory_conditions is not null");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsEqualTo(String value) {
            addCriterion("regulatory_conditions =", value, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsNotEqualTo(String value) {
            addCriterion("regulatory_conditions <>", value, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsGreaterThan(String value) {
            addCriterion("regulatory_conditions >", value, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsGreaterThanOrEqualTo(String value) {
            addCriterion("regulatory_conditions >=", value, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsLessThan(String value) {
            addCriterion("regulatory_conditions <", value, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsLessThanOrEqualTo(String value) {
            addCriterion("regulatory_conditions <=", value, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsLike(String value) {
            addCriterion("regulatory_conditions like", value, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsNotLike(String value) {
            addCriterion("regulatory_conditions not like", value, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsIn(List<String> values) {
            addCriterion("regulatory_conditions in", values, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsNotIn(List<String> values) {
            addCriterion("regulatory_conditions not in", values, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsBetween(String value1, String value2) {
            addCriterion("regulatory_conditions between", value1, value2, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andRegulatoryConditionsNotBetween(String value1, String value2) {
            addCriterion("regulatory_conditions not between", value1, value2, "regulatoryConditions");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsIsNull() {
            addCriterion("declaration_elements is null");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsIsNotNull() {
            addCriterion("declaration_elements is not null");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsEqualTo(String value) {
            addCriterion("declaration_elements =", value, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsNotEqualTo(String value) {
            addCriterion("declaration_elements <>", value, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsGreaterThan(String value) {
            addCriterion("declaration_elements >", value, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsGreaterThanOrEqualTo(String value) {
            addCriterion("declaration_elements >=", value, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsLessThan(String value) {
            addCriterion("declaration_elements <", value, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsLessThanOrEqualTo(String value) {
            addCriterion("declaration_elements <=", value, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsLike(String value) {
            addCriterion("declaration_elements like", value, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsNotLike(String value) {
            addCriterion("declaration_elements not like", value, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsIn(List<String> values) {
            addCriterion("declaration_elements in", values, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsNotIn(List<String> values) {
            addCriterion("declaration_elements not in", values, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsBetween(String value1, String value2) {
            addCriterion("declaration_elements between", value1, value2, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andDeclarationElementsNotBetween(String value1, String value2) {
            addCriterion("declaration_elements not between", value1, value2, "declarationElements");
            return (Criteria) this;
        }

        public Criteria andurrencyIsNull() {
            addCriterion("currency is null");
            return (Criteria) this;
        }

        public Criteria andcurrencyIsNotNull() {
            addCriterion("currency is not null");
            return (Criteria) this;
        }

        public Criteria andcurrencyEqualTo(String value) {
            addCriterion("currency =", value, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyNotEqualTo(String value) {
            addCriterion("currency <>", value, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyGreaterThan(String value) {
            addCriterion("currency >", value, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyGreaterThanOrEqualTo(String value) {
            addCriterion("currency >=", value, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyLessThan(String value) {
            addCriterion("currency <", value, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyLessThanOrEqualTo(String value) {
            addCriterion("currency <=", value, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyLike(String value) {
            addCriterion("currency like", value, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyNotLike(String value) {
            addCriterion("currency not like", value, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyIn(List<String> values) {
            addCriterion("currency in", values, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyNotIn(List<String> values) {
            addCriterion("currency not in", values, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyBetween(String value1, String value2) {
            addCriterion("currency between", value1, value2, "currency");
            return (Criteria) this;
        }

        public Criteria andcurrencyNotBetween(String value1, String value2) {
            addCriterion("currency not between", value1, value2, "currency");
            return (Criteria) this;
        }

        public Criteria andExchangeRateIsNull() {
            addCriterion("exchange_rate is null");
            return (Criteria) this;
        }

        public Criteria andExchangeRateIsNotNull() {
            addCriterion("exchange_rate is not null");
            return (Criteria) this;
        }

        public Criteria andExchangeRateEqualTo(String value) {
            addCriterion("exchange_rate =", value, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateNotEqualTo(String value) {
            addCriterion("exchange_rate <>", value, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateGreaterThan(String value) {
            addCriterion("exchange_rate >", value, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateGreaterThanOrEqualTo(String value) {
            addCriterion("exchange_rate >=", value, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateLessThan(String value) {
            addCriterion("exchange_rate <", value, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateLessThanOrEqualTo(String value) {
            addCriterion("exchange_rate <=", value, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateLike(String value) {
            addCriterion("exchange_rate like", value, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateNotLike(String value) {
            addCriterion("exchange_rate not like", value, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateIn(List<String> values) {
            addCriterion("exchange_rate in", values, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateNotIn(List<String> values) {
            addCriterion("exchange_rate not in", values, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateBetween(String value1, String value2) {
            addCriterion("exchange_rate between", value1, value2, "exchangeRate");
            return (Criteria) this;
        }

        public Criteria andExchangeRateNotBetween(String value1, String value2) {
            addCriterion("exchange_rate not between", value1, value2, "exchangeRate");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}